finding a specific area from page using regular expression
finding a specific area from page using regular expression
am 04.08.2007 18:23:34 von hardik
hi friends,
i have a bunch of html pages and i want to fetch records from them and
i m really confused how i can do after working with regular
expressions and other stuffs from last few days can anyone help me
with this ?
i have a pages with html and table all scatter there..now i want just
specific table from the page and all records in that page, i was
successfull somehow but still have problems ,here are they..
my example page...(just a table it has all the tags like html but i
didnt write here just the thing i want is here)

|
|
name1
address1
phone no
|
|
|
name2
.........
|
now from that table i want name,address,phone no,email,website..
using preg_replace function i was able to find all those things but it
removes tag so email and website are also removed...can anyone
tell me how i can find email and website first from that code and then
using preg_replace i can get other records...or else can anyone tell
me any better solution like currently by using while loop and using if
condition i m breaking at the main table and then fetching each record
but any better solution ?
Re: finding a specific area from page using regular expression
am 04.08.2007 19:26:52 von Paul Lautman
Hardik Dangar wrote:
> hi friends,
> i have a bunch of html pages and i want to fetch records from them and
> i m really confused how i can do after working with regular
> expressions and other stuffs from last few days can anyone help me
> with this ?
>
> i have a pages with html and table all scatter there..now i want just
> specific table from the page and all records in that page, i was
> successfull somehow but still have problems ,here are they..
>
> my example page...(just a table it has all the tags like html but i
> didnt write here just the thing i want is here)
>
>
>
> 
> |
>
>
>
> |
>
> name1
>
> address1
> phone no
>>
>>
>
> |
>
>
>
> name2
> .........
> |
>
>
>
>
> now from that table i want name,address,phone no,email,website..
> using preg_replace function i was able to find all those things but it
> removes tag so email and website are also removed...can anyone
> tell me how i can find email and website first from that code and then
> using preg_replace i can get other records...or else can anyone tell
> me any better solution like currently by using while loop and using if
> condition i m breaking at the main table and then fetching each record
> but any better solution ?
Check out the DOM functions:
http://uk.php.net/manual/en/ref.dom.php
Re: finding a specific area from page using regular expression
am 04.08.2007 19:55:17 von hardik
On Aug 4, 10:26 pm, "Paul Lautman"
wrote:
> Hardik Dangar wrote:
> > hi friends,
> > i have a bunch of html pages and i want to fetch records from them and
> > i m really confused how i can do after working with regular
> > expressions and other stuffs from last few days can anyone help me
> > with this ?
>
> > i have a pages with html and table all scatter there..now i want just
> > specific table from the page and all records in that page, i was
> > successfull somehow but still have problems ,here are they..
>
> > my example page...(just a table it has all the tags like html but i
> > didnt write here just the thing i want is here)
>
> >
> >
> > 
> > |
> >
> >
> >
> > |
> >
> > name1
> >
> > address1
> > phone no
> >>
> >>
> >
> > |
> >
> >
> >
> > name2
> > .........
> > |
> >
> >
> >
>
> > now from that table i want name,address,phone no,email,website..
> > using preg_replace function i was able to find all those things but it
> > removes tag so email and website are also removed...can anyone
> > tell me how i can find email and website first from that code and then
> > using preg_replace i can get other records...or else can anyone tell
> > me any better solution like currently by using while loop and using if
> > condition i m breaking at the main table and then fetching each record
> > but any better solution ?
>
> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
@paul
thanx for the help but,
can you explain me how i can use it ?
i didnt get i guess its for working with xml
how can i use with my problem ?
Re: finding a specific area from page using regular expression
am 04.08.2007 20:16:26 von Paul Lautman
Hardik Dangar wrote:
> On Aug 4, 10:26 pm, "Paul Lautman"
> wrote:
>> Hardik Dangar wrote:
>>> hi friends,
>>> i have a bunch of html pages and i want to fetch records from them
>>> and i m really confused how i can do after working with regular
>>> expressions and other stuffs from last few days can anyone help me
>>> with this ?
>>
>>> i have a pages with html and table all scatter there..now i want
>>> just specific table from the page and all records in that page, i
>>> was successfull somehow but still have problems ,here are they..
>>
>>> my example page...(just a table it has all the tags like html but i
>>> didnt write here just the thing i want is here)
>>
>>>
>>>
>>> 
>>> |
>>>
>>>
>>>
>>> |
>>>
>>> name1
>>>
>>> address1
>>> phone no
>>>>
>>>>
>>>
>>> |
>>>
>>>
>>>
>>> name2
>>> .........
>>> |
>>>
>>>
>>>
>>
>>> now from that table i want name,address,phone no,email,website..
>>> using preg_replace function i was able to find all those things but
>>> it removes tag so email and website are also removed...can
>>> anyone tell me how i can find email and website first from that
>>> code and then using preg_replace i can get other records...or else
>>> can anyone tell me any better solution like currently by using
>>> while loop and using if condition i m breaking at the main table
>>> and then fetching each record but any better solution ?
>>
>> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
>
> @paul
> thanx for the help but,
> can you explain me how i can use it ?
> i didnt get i guess its for working with xml
> how can i use with my problem ?
As long as your HTML is "well formed", you can use the DOM functions to
process it.
Re: finding a specific area from page using regular expression
am 04.08.2007 20:34:15 von hardik
On Aug 4, 11:16 pm, "Paul Lautman"
wrote:
> Hardik Dangar wrote:
> > On Aug 4, 10:26 pm, "Paul Lautman"
> > wrote:
> >> Hardik Dangar wrote:
> >>> hi friends,
> >>> i have a bunch of html pages and i want to fetch records from them
> >>> and i m really confused how i can do after working with regular
> >>> expressions and other stuffs from last few days can anyone help me
> >>> with this ?
>
> >>> i have a pages with html and table all scatter there..now i want
> >>> just specific table from the page and all records in that page, i
> >>> was successfull somehow but still have problems ,here are they..
>
> >>> my example page...(just a table it has all the tags like html but i
> >>> didnt write here just the thing i want is here)
>
> >>>
> >>>
> >>> 
> >>> |
> >>>
> >>>
> >>>
> >>> |
> >>>
> >>> name1
> >>>
> >>> address1
> >>> phone no
> >>>>
> >>>>
> >>>
> >>> |
> >>>
> >>>
> >>>
> >>> name2
> >>> .........
> >>> |
> >>>
> >>>
> >>>
>
> >>> now from that table i want name,address,phone no,email,website..
> >>> using preg_replace function i was able to find all those things but
> >>> it removes tag so email and website are also removed...can
> >>> anyone tell me how i can find email and website first from that
> >>> code and then using preg_replace i can get other records...or else
> >>> can anyone tell me any better solution like currently by using
> >>> while loop and using if condition i m breaking at the main table
> >>> and then fetching each record but any better solution ?
>
> >> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
>
> > @paul
> > thanx for the help but,
> > can you explain me how i can use it ?
> > i didnt get i guess its for working with xml
> > how can i use with my problem ?
>
> As long as your HTML is "well formed", you can use the DOM functions to
> process it.
@paul
i have seen the documentation again and i find loadhtmlfile but steel
i m very much confused how i can get my table data from webpage using
those functions ? if you know anything then plz plz just give me
simple example i m reading this dom thing again and again and getting
interested in it...
thank you very much for helping
Re: finding a specific area from page using regular expression
am 05.08.2007 21:25:10 von Neil
On Aug 4, 11:34 am, Hardik Dangar wrote:
> On Aug 4, 11:16 pm, "Paul Lautman"
> wrote:
>
>
>
> > Hardik Dangar wrote:
> > > On Aug 4, 10:26 pm, "Paul Lautman"
> > > wrote:
> > >> Hardik Dangar wrote:
> > >>> hi friends,
> > >>> i have a bunch of html pages and i want to fetch records from them
> > >>> and i m really confused how i can do after working with regular
> > >>> expressions and other stuffs from last few days can anyone help me
> > >>> with this ?
>
> > >>> i have a pages with html and table all scatter there..now i want
> > >>> just specific table from the page and all records in that page, i
> > >>> was successfull somehow but still have problems ,here are they..
>
> > >>> my example page...(just a table it has all the tags like html but i
> > >>> didnt write here just the thing i want is here)
>
> > >>>
> > >>>
> > >>> 
> > >>> |
> > >>>
> > >>>
> > >>>
> > >>> |
> > >>>
> > >>> name1
> > >>>
> > >>> address1
> > >>> phone no
> > >>>>
> > >>>>
> > >>>
> > >>> |
> > >>>
> > >>>
> > >>>
> > >>> name2
> > >>> .........
> > >>> |
> > >>>
> > >>>
> > >>>
>
> > >>> now from that table i want name,address,phone no,email,website..
> > >>> using preg_replace function i was able to find all those things but
> > >>> it removes tag so email and website are also removed...can
> > >>> anyone tell me how i can find email and website first from that
> > >>> code and then using preg_replace i can get other records...or else
> > >>> can anyone tell me any better solution like currently by using
> > >>> while loop and using if condition i m breaking at the main table
> > >>> and then fetching each record but any better solution ?
>
> > >> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
>
> > > @paul
> > > thanx for the help but,
> > > can you explain me how i can use it ?
> > > i didnt get i guess its for working with xml
> > > how can i use with my problem ?
>
> > As long as your HTML is "well formed", you can use the DOM functions to
> > process it.
>
> @paul
> i have seen the documentation again and i find loadhtmlfile but steel
> i m very much confused how i can get my table data from webpage using
> those functions ? if you know anything then plz plz just give me
> simple example i m reading this dom thing again and again and getting
> interested in it...
> thank you very much for helping
Use the XPath functionality of the DOM Functions to extract the tags
you need.
Re: finding a specific area from page using regular expression
am 06.08.2007 04:21:42 von kurt.milligan
On Aug 4, 12:23 pm, Hardik Dangar wrote:
[snip]
>
> now from that table i want name,address,phone no,email,website..
> using preg_replace function i was able to find all those things but it
> removes tag so email and website are also removed...can anyone
> tell me how i can find email and website first from that code and then
> using preg_replace i can get other records...or else can anyone tell
> me any better solution like currently by using while loop and using if
> condition i m breaking at the main table and then fetching each record
> but any better solution ?
This should do what you want (retrieving the email and URL):
$matches = array();
preg_match('/\'"\s]+).*
\'"\s]+)/s',$yourPageContents,$matches);
print "email: $matches[1], url: $matches[2]";
HTH
-Kurt
Re: finding a specific area from page using regular expression
am 07.08.2007 13:56:07 von hardik
On Aug 6, 7:21 am, Kurt Milligan wrote:
> On Aug 4, 12:23 pm, Hardik Dangar wrote:
> [snip]
>
>
>
> > now from that table i want name,address,phone no,email,website..
> > using preg_replace function i was able to find all those things but it
> > removes tag so email and website are also removed...can anyone
> > tell me how i can find email and website first from that code and then
> > using preg_replace i can get other records...or else can anyone tell
> > me any better solution like currently by using while loop and using if
> > condition i m breaking at the main table and then fetching each record
> > but any better solution ?
>
> This should do what you want (retrieving the email and URL):
>
> $matches = array();
>
> preg_match('/\'"\s]+).*
> \'"\s]+)/s',$yourPageContents,$matches);
>
> print "email: $matches[1], url: $matches[2]";
>
> HTH
> -Kurt
thank you everyone i m almost at end of work but new problem... :(
i've try to use dom functions and it did work fine at my home but once
i try at server it give me error
domdocument() expects at least 1 parameter, 0 given in /home/sphere/
public_html/hardik/curl/temp2.php on line 2
here is my code,
$doc = new DOMDocument();
$doc->loadHTML($str);
can anyone suggest me what is the problem